
Ext.define('Writer.Person', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'id',
        type: 'int',
        useNull: true
    },{
        name: 'nroFases',
        type: 'int',
    }, 'nombre', 'descripcion', 'fecha', 'estado']
});

Ext.define('DataUsuario', {
    extend: 'Ext.data.Model',
    fields: ['nombreUsuario'] });

Ext.define('DataTipoItem', {
    extend: 'Ext.data.Model',
    fields: [{	name: 'id',
				type: 'int'
			},'nombreTipoItem'] });
			
Ext.define('DataItem', {
    extend: 'Ext.data.Model',
    fields: [{	name: 'id',
				type: 'int'
			},'nombreItem'] });
			
Ext.define('DataHistorialItem', {
    extend: 'Ext.data.Model',
    fields: [{	name: 'id',
				type: 'int'
			},'nombreItem', 'version', 'descripcion', 'fecha', 'nombreUsuario','estado'] });
			
Ext.define('DataArchivoItem', {
    extend: 'Ext.data.Model',
    fields: [{	name: 'id',
				type: 'int'
			},'nombre', 'descripcion'] });


			
Ext.define('DataFase', {
    extend: 'Ext.data.Model',
    fields: [{	name: 'id',
				type: 'int'
			},'nombreFase'] });

Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('Ext.ux', 'static/ux');


Ext.define('proyectos.ProyectoGrid', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.writergrid',
    requires: [
        'Ext.form.field.Text',
        'Ext.ux.grid.FiltersFeature',
        'Ext.toolbar.TextItem'
    ],
    initComponent: function(){
        
		var filters = {
			ftype: 'filters',
			local: true,

		};

        Ext.apply(this, {
            iconCls: 'icon-grid',
            //frame: true,
            features: [filters],
            dockedItems: [{ 
                weight: 1,
                xtype: 'toolbar',
                dock: 'bottom',
                //ui: 'footer',
                items: ['->', {
                    iconCls: 'icon-refresh',
                    text: '<b>Actualizar</b>',
                    scope: this,
                    handler: this.onRefresh
                }]
            }],
            columns: [{
                text: 'Id',
                width: 40,
                filter: true,
                hidden: true,
                dataIndex: 'id'
            },{
                header: '<b>Nombre</b>',
                flex: 1,
                filter: true,
                dataIndex: 'nombre',

            }, {
                header: '<b>Descripcion</b>',
                width: 150,
                filter: true,
                dataIndex: 'descripcion',

            },{
                text: '<b>Nº Fases</b>',
                width: 90,
                filter: true,
                dataIndex: 'nroFases'
            },{
                header: '<b>Fecha Creacion</b>',
                width: 140,
                filter: true,
                dataIndex: 'fecha',

            }, {
                header: '<b>Estado</b>',
                flex: 1,
                filter: true,
                dataIndex: 'estado',

            }]
        });
        this.callParent();
        this.getSelectionModel().on('selectionchange', this.onSelectChange, this);
    },   

    onRefresh: function(){
		this.getSelectionModel().clearSelections();
		this.store.load();
	},
});
